1. Technical Field
The present invention is directed generally towards a high volume cryptography-enabled Internet servers. More specifically, the present invention is directed toward a high-volume Internet server system that achieves high performance and scalability by distributing loads according to task.
2. Description of Related Art
Since the introduction of the World Wide Web and the subsequent commercialization of the Internet, the world has become a considerably more connected place. No longer bound to the primitive communications interfaces of the past, the Internet is now host to a variety of powerful communications media, including interactive hypertext browsing (the World Wide Web), instant messaging, streaming video and audio, and multimedia electronic mail.
Hypertext is a method of organizing textual and graphical information on a computer screen. Information is organized into “pages,” which resemble printed pages in a book or (perhaps more accurately) printed scrolls (since a hypertext page can be of any length). The primary difference between hypertext and the printed word, however, lies in the fact that hypertext pages can contain links. That is, a portion of a hypertext document, such as a phrase or a graphic, may be made sensitive to clicking by the mouse such that when the user clicks on that portion, the user is directed to a new page or a different section of the current page. For instance, it is a common practice to make bibliographic citations into links. When a user clicks on one of these citations, the cited text appears on the screen. Hypertext documents are displayed using a program called a “browser.”
The largest and best-known repository of hypertext documents is the World Wide Web, a loosely bound collection of publicly accessible hypertext documents stored on computers the world over. The World Wide Web has become the preferred Internet medium for publishable information as well as for providing such interactive features as online shopping—to the extent that the terms Internet and World Wide Web are virtually synonymous to some.
Browsers can download hypertext documents from a server with the HyperText Transfer Protocol (HTTP), described in Internet Request for Comments (RFC) 2616. HTTP allows a browser to request documents or files from a server and receive a response. In addition, when browser users enter information into a form embedded into a hypertext page, the browser transmits the information to a server using HTTP. Form information can then be passed along to applications residing on the server by way of the Common Gateway Interface (CGI). Those applications can then return a result, which may be written in HTML.
The Internet, and in particular the World Wide Web, is now a host to a variety of different types of data communications outside of the traditional text and hypertext models. Streaming data transmissions allow video and audio to be transmitted, even as a real-time broadcast, through the Internet. Structured data communications formats such as eXtensible Markup Language (XML) allow data files of varying information content and type to be sent in a standardized form that is easily read and interpreted by computers and human operators both.
The flexibility of the World Wide Web as a communications medium for publishing information and as an interface to network-based applications makes it a convenient platform for providing commercial and other services online. In the case of some services, especially when credit card or other monetary transactions are involved, however, an increased level of security is required. Network transmissions are easily intercepted and read without the use of some kind of cryptography to shield sensitive information from prying eyes.
To make online transactions more secure, network cryptographic communications protocols such as SSL (secure sockets layer) have been developed. SSL, described in detail in U.S. Pat. No. 5,657,390, establishes a secure channel of network transmissions that cannot be decoded by third parties. SSL utilizes a secure handshake procedure to establish cryptographic keys between parties to a network communication. Once the keys are established, the parties transmit encrypted data between themselves. Periodically, the handshake must be repeated as the cryptographic keys expire after a period of time. HTTP connections established using the SSL encryption system are known as HTTPS connections.
This arrangement works well for small-scale server operations with short, infrequent transactions. In the case of large-scale operations that must serve many transactions (such as the Internal Revenue Service or other large governmental agency), or operations that must make continuous secure communications over an extended period of time (such as an online stockbroker sending real-time stock quotes), however, the enormous overhead in computing time associated with encryption, decryption, and handshaking can significantly reduce the performance of a server system.
A need exists, therefore, for a server system capable of efficiently serving a large number of continuous transactions.